package com.sh.data.engine.domain.dataasset.service;

import com.sh.data.engine.domain.base.model.PageResult;
import com.sh.data.engine.domain.dataasset.model.domain.TableInfoBizDomain;
import com.sh.data.engine.domain.dataasset.model.param.QueryTableParam;
import com.sh.data.engine.domain.shims.db.model.TableInfoDomain;

import java.util.List;

/**
 * @Author: zigui.zdf @Date: 2022/2/24 20:32:45 @Description:
 */
public interface TableService {

    /**
     * 根据条件查询表的分页列表，支持排序
     *
     * @param projectId
     * @param param
     * @return
     */
    PageResult<TableInfoBizDomain> getTablePage(Long projectId, QueryTableParam param);

    /**
     * 根据条件查询表的列表，支持排序
     *
     * @param projectId
     * @param param
     * @return
     */
    List<TableInfoBizDomain> getTableList(Long projectId, QueryTableParam param);

    /**
     * @description : 查询表信息
     * @author : tinglan.ys
     * @date : 2022/5/10
     */
    TableInfoDomain getTableInfo(Long projectId, String tableName);

    /**
     * 查询表详细信息
     *
     * @param projectId projectId
     * @param tableName tableName
     * @return TableInfoBizDomain
     */
    TableInfoBizDomain getTableBizInfo(Long projectId, String tableName);
}
